package com.zw.a.basic.a12.demo05_exercise;

import java.io.*;

//案例: 高效字符流独有的拷贝文件的方式.         一次读写一行,  必须掌握.
/*
    补充的两个方法:
        BufferedWriter类中的方法
            public void newLine()           根据当前操作系统给出对应的换行符,  window:\r\n, linux: \n, mac: \r
        BufferedReader类中的方法
            public String readLine();       一次读写一行, 读不到返回null
 */
public class Demo05 {
    public static void main(String[] args) throws IOException {
        //1. 创建输入流对象, 关联数据源文件.
        BufferedReader br = new BufferedReader(new FileReader("day12/data/1.txt"));
        //2. 创建输出流对象, 关联目的地文件.
        BufferedWriter bw = new BufferedWriter(new FileWriter("day12/data/2.txt"));
        //3. 定义变量, 记录读取到的内容或者有效字节(符)数.
        String line = null;
        //4. 循环读取,只要条件满足就一直读, 并将读取到的内容赋值给变量.
        while ((line = br.readLine()) != null) {
            //5. 将读取到的内容写入到目的地文件中.
            //System.out.println(line);
            bw.write(line);
            //小细节, 千万别忘记加 换行
            bw.newLine();
        }
        //6. 关流, 释放资源.
        br.close();
        bw.close();
    }
}
